From d54321c1ca7da3d9b0a867b26f63340a48eba74c Mon Sep 17 00:00:00 2001 From: =?utf8?q?Timm=20B=C3=A4der?= Date: Tue, 26 Sep 2017 07:10:39 +0200 Subject: [PATCH] menu: Guard against NULL toplevel This can happen, as indicated by GtkMenu explicitly connecting to ::destroy of its toplevel window. Do the same thing in GtkComboBox. --- gtk/gtkmenu.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/gtk/gtkmenu.c b/gtk/gtkmenu.c index a39aa42351..95562ab9fb 100644 --- a/gtk/gtkmenu.c +++ b/gtk/gtkmenu.c @@ -1384,11 +1384,14 @@ gtk_menu_detach (GtkMenu *menu) g_object_set_data (G_OBJECT (menu), I_(attach_data_key), NULL); /* Detach the toplevel window. */ - g_signal_handlers_disconnect_by_func (toplevel, - (gpointer) menu_toplevel_attached_to, - menu); - if (gtk_window_get_attached_to (toplevel) == data->attach_widget) - gtk_window_set_attached_to (toplevel, NULL); + if (toplevel) + { + g_signal_handlers_disconnect_by_func (toplevel, + (gpointer) menu_toplevel_attached_to, + menu); + if (gtk_window_get_attached_to (toplevel) == data->attach_widget) + gtk_window_set_attached_to (toplevel, NULL); + } g_signal_handlers_disconnect_by_func (data->attach_widget, (gpointer) attach_widget_display_changed, -- 2.30.2